מבחן במודלים חישוביים + פתרון מוצע סמסטר ב' התשס"ט, מועד ב' תאריך: 1.9.2009 מרצים: ד"ר מירי פרייזלר, פרופ' בני שור מתרגלים: יהונתן ברנט, רני הוד מומלץ לקרוא את כל ההנחיות והשאלות בתחילת המבחן, לפני תחילת כתיבת התשובות. משך הבחינה שעתיים ו 45 דקות. חומר עזר מותר: שני דפי A4, כתובים משני הצדדים. בראש כל עמוד בטופס המבחן יש למלא מספר ת"ז ומספר מחברת; בטופס התשובות יש למלא מספר ת"ז, מספר גירסא ומספר מחברת. במבחן שני חלקים. בחלק הראשון שתי שאלות פתוחות (30 נק' כל אחת) ובחלק השני 8 שאלות סגורות (5 נק' כל אחת). כדי לקבל ציון 100 בבחינה יש לענות נכונה על כל השאלות. תשובות לשאלות הסגורות יש לסמן במקום המתאים לכך בטופס התשובות. בכל שאלה יש לסמן תשובה יחידה. על התשובה לכל שאלה פתוחה להופיע במסגרת המתאימה בטופס המבחן (טופס זה). יש לענות תשובות ברורות ותמציתיות. תשובות מסורבלות או לא ניתנות פיזית לקריאה יזכו לניקוד חלקי בלבד. ודא/י היטב את תשובתך לפני כתיבתה בטופס המבחן. בסוף הטופס מצורפת מסגרת לשימוש במקרי "חירום". מחברת הבחינה משמשת כטיוטא בלבד ולא תיבדק, אך יש להגישה עם המבחן. על סעיף של שאלה פתוחה ניתן לענות "אינני יודע/ת" כתשובה; על סעיף זה יינתנו 20% מהנקודות. במקרה זה אין להוסיף שום הסבר. מותר להשתמש בכל טענה שהוכחה בכיתה (בהרצאה, בתירגול או בתרגיל הבית) בתנאי שמצטטים אותה באופן מדויק. טענות שהוכחו במקום אחר (כגון: בספר הלימוד, בויקיפדיה, ב MIT, בסמסטר קודם) יש להוכיח מחדש. אלא אם נאמר אחרת במפורש, כל המספרים המופיעים בשאלות הם שלמים, אי שליליים ונתונים בייצוג בינארי. בשאלות בהן יש לתאר מכונת טיורינג ניתן להסתפק בתיאור מילולי משכנע של אופן פעולת המכונה. אין צורך להגדיר במדויק את פונקצית המעברים δ אלא אם השאלה מבקשת זאת במפורש. בכל השאלות ניתן להניח כי P N P ו P N P = co-n אלא אם השאלה מציינת אחרת. בהצלחה! 1 ג 1 ב 1 א 2 ג 2 ב 2 א עמוד 1 מתוך 8
חלק I שאלה 1 נתונה שפה Σ.L סעיף א' (10 נק') הוכח/הוכיחי כי אם L R ו Σ L, אזי. L m L. L המכריעה את M ויש מ"ט L R ולכן גם L R.n / ו L y L ולכן קיימים L, Σ נראה L m L ע"י רדוקצית המיפוי הבאה. עבור קלט x נריץ את M כדי לבדוק אם הוא ב L ; אם כן, נחזיר את y ואחרת נחזיר את n. קל לראות שהרדוקציה חשיבה ונכונה. סעיף ב' (10 נק') הוכח/הוכיחי כי אם L / R ו L L m אזי.L / RE co-re נניח כי L RE (ההוכחה עבור המקרה L co-re היא סימטרית) ולכן. L co-re מהנתון L m L נובע כי L RE כלומר.L co-re בסה"כ קיבלנו L RE co-re = R בסתירה לנתון. עמוד 2 מתוך 8
סעיף ג' (10 נק') תהיה שפה A RE \ R מעל 1} {0, = Σ ונגדיר A}.B = {0w : w A} {1w : w / הוכח/הוכיחי B / RE co-re בהסתמך על סעיף ב' לעיל (גם אם לא פתרת אותו). הערה: הוכחות שלא ישתמשו בסעיף ב' יזכו בניקוד חלקי (5 נק' לכל היותר). ראשית נוכיח כי A m B (ולכן (B / R ע"י רדוקצית המיפוי.f (w) = 0w זו כמובן חשיבה ומהגדרת B מקיימת.w A f (w) B כעת נבחר מילה כלשהי z A (יש כזו כי A לא ריקה) ונוכיח B m B ע"י רדוקצית המיפוי 0z, x = ɛ g (x) = 0w, x = 1w 1w, x = 0w זו רדוקציה חשיבה וקל לראות כי x. / B g (x) B נפעיל את סעיף ב' והדרוש נובע. עמוד 3 מתוך 8
שאלה 2 עבור נוסחת CNF או DNF בוליאנית φ והצבה v למשתניה נגדיר את (v N,φ) כמספר הפסוקיות (clauses) המסופקות ע"י הצבה זו. תזכורת: נוסחת CNF היא And של פסוקיות וכל פסוקית היא Or של ליטרלים; נוסחת DNF היא Or של פסוקיות וכל פסוקית היא And של ליטרלים. נגדיר את השפות הבאות (שימו לב שהמספר הטבעי k נתון בייצוג בינארי): Count-CNF = { φ, k : φ is a CNF formula and there exists v such that N (φ, v) = k} Count-DNF = { φ, k : φ is a DNF formula and there exists v such that N (φ, v) = k} סעיף א' (10 נק') הוכח/הוכיחי כי.Count-CNF p 3-Sat האם מכך נובע כי Count-CNF היא N שלמה? P כשההצבה v נתונה, ניתן לחשב את (v N,φ) בזמן פולינומי ולהשוות ל k. זהו מוודא פולינומי ומכאן ש P Count-CNF N וע"פ משפט Cook מתקיים.Count-CNF p 3-Sat לא הוכחנו (עדיין) ש Count-CNF בעיה N קשה P ולכן לא נובע שהיא ב PC N. ייתכן, למשל, שהיא ב P או שהיא ב P.(N P co-n P) \ עמוד 4 מתוך 8
סעיף ב' (10 נק') הוכח/הוכיחי כי.3-Sat p Count-CNF נראה זאת ע"י הרדוקציה הבאה. בהנתן נוסחת φ, 3-CNF הרדוקציה תספור כמה פסוקיות בה φ m = ותחזיר את הזוג m,φ. נשים לב ש φנוסחת CNF כדרוש. ברור שהרדוקציה פועלת בזמן פולינומי. כמו כן, לפי הגדרה φ ספיקה אמ"מ קיימת השמה המספקת בדיוק m פסוקיות בה. כעת, אגב, נובע ש PC.Count-CNF N סעיף ג' (10 נק') הוכח/הוכיחי כי.Count-CNF p Count-DNF נראה זאת ע"י הרדוקציה הבאה. בהנתן נוסחת φ CNF ומספר k נבנה נוסחת φ DNF ומספר k כך: לכל פסוקית C = x 1 x r של φ,φ תכיל את הפסוקית C = x 1 x r. הפסוקיות יחוברו כמובן ע"י.Or נבחר. k = φ k הבניה פולינומית. קל לראות מכללי דה מורגן שהשמה v כלשהי מספקת פסוקית C של φ אמ"מ היא לא מספקת את הפסוקית C המקבילה ב φ ועל כן קיימת השמה המספקת בדיוק k פסוקיות של φ אמ"מ קיימת (אותה) השמה המספקת בדיוק k פסוקיות של φ. עמוד 5 מתוך 8
חלק II 1. תהי u פונקציה המוגדרת באופן הבא: הקלט הוא שלשה (k M,,x 1 ( כאשר M הוא קידוד של מ"ט דטרמיניסטית חד סרטית בעלת א"ב קלט 1} {0, = Σ וא"ב מכונה } $, 2, {0, 1, =,Γ Σ x היא מילה ו 1 k הוא קידוד אונארי של המספר הטבעי k. N הפלט של u הוא 1 אם M מקבלת את x תוך לכל היותר k צעדים ו 0 אחרת. איזו מהאפשרויות הבאות מתקיימת? (א) הפונקציה u אינה ניתנת לחישוב. (ב) הפונקציה u ניתנת לחישוב בזמן פולינומיאלי. (ג) הפונקציה u ניתנת לחישוב אך לא בזמן פולינומיאלי. (ד) התשובות א'-ג' לעיל אינן נכונות. ניתן לסמלץ את ריצת M על x למשך k צעדים בזמן (k O M ) וכך לבדוק אם x התקבל. המספר k נתון בייצוג אונארי ולכן זה פולינומיאלי ב k) M, x, 1 (..2 עבור שפה Σ L נגדיר L}.sub (L) = {y Σ : x, z Σ xyz במילים אחרות, (L) sub מכילה את כל תת המחרוזות הרצופות של מילות L. איזו מהאפשרויות הבאות מתקיימת? (א) אם השפה L רגולרית אזי גם (L) sub רגולרית; כמו כן, אם L RE אזי גם.sub (L) RE (ב) אם השפה L רגולרית אזי גם (L) sub רגולרית; לעומת זאת, קיימת שפה L RE עבורה.sub (L) / RE (ג) יש שפה L רגולרית עבורה (L) sub אינה רגולרית; לעומת זאת, אם L RE אזי גם.sub (L) RE (ד) יש שפה L רגולרית עבורה (L) sub אינה רגולרית; כמו כן, קיימת שפה L RE עבורה.sub (L) / RE בהנתן DFA המקבל את L, קל לבנות NFA המקבל את (L) sub מנחשים רישא x וסיפא z ומריצים את ה DFA על xyz (בדומה לשאלה 7 בתרגיל בית 2). בהנתן מ"ט M שמקבלת את L, אפשר לבנות מ"ט המקבלת את (L) sub ופועלת כדקלמן. עוברים בסדר לקסיקוגרפי על כל האפשרויות ל N x, z, k Σ Σ ומריצים את M למשך k צעדים על ;xyz אם M קיבלה אז מקבלים ואחרת עוברים לאפשרות הבאה. עמוד 6 מתוך 8
3. נתונה שפה Σ L ונתון אלגוריתם (enumerator) המדפיס את רשימת כל המילים בשפה L (כל מילה בשפה מודפסת בדיוק פעם אחת). 1 נתון שלכל שתי מילים בשפה,x y L עבורן y x, < המילה x מודפסת אחרי המילה y (אבל לאו דוקא מיד אחריה). מה ניתן לומר אודות L? (א) השפה L היא תמיד רגולרית. (ב) השפה L היא תמיד חסרת הקשר ולעיתים אינה רגולרית. (ג) השפה L היא תמיד כריעה ולעיתים אינה חסרת הקשר. (ד) לעיתים השפה L אינה כריעה. אם = L סיימנו. אחרת, תהיה x 0 המילה הראשונה שמדפיס האלגוריתם ונסמן 0.n = x מהנתון נובע שכל המילים בשפה L אורכן לכל היותר n ועל כן L שפה סופית ובפרט רגולרית..4 נגדיר 7} nite and L (M) is a multiple of is.l = { M : M is a TM, L (M) איזו מהאפשרויות הבאות מתקיימת? (א).L R (ב).L RE \ R (ג).L co-re \ R (ד).L / RE co-re L fin = { M : M is a TM, L (M) is ראינו בשיעור ו/או בתרגול שהשפה nite} מקיימת L fin / RE co-re ולכן די להראות.L fin m L בהנתן מ"ט M מעל הא"ב,Σ הרדוקציה תבנה מכונה M מעל הא"ב 7},... 2, Σ {1, כך שהרצת M על i x, מסמלצת ריצת M על x ומחזירה אותה תוצאה. כעת מתקיים 7},... 2, {1, (M) L (M ) = L והדרוש נובע. L 1 = L 2 = L 3 = 5. נתונות שלוש השפות הבאות מעל הא"ב {b Σ: =,a} { } (ab) k a (ba) k : k N, { } (ab) k b (ba) k : k N, { } (ab) k (ba) k (ab) k : k N. איזו מהאפשרויות הבאות מתקיימת? (א) כל השפות הן חסרות הקשר ואינן רגולריות. (ב) שתיים מהשפות הן חסרות הקשר ואינן רגולריות והשפה הנותרת אינה חסרת הקשר. (ג) אחת מהשפות היא רגולרית, אחת חסרת הקשר ואינה רגולרית והשפה הנותרת אינה ח"ה. (ד) שתיים מהשפות הן רגולריות ואחת חסרת הקשר ואינה רגולרית. { } N L 1 = (ab) 2k a : k רגולרית; L 2 חסרת הקשר (דקדוק: (S absba b אך אינה רגולרית (ניפוח); L 3 אינה חסרת הקשר (ניפוח עבור ח"ה). 1 האלגוריתם אינו מקבל קלט ואינו חייב לעצור. במהלך פעולתו הוא מדפיס מילים המופרדות זו מזו ע"י סימן רווח. מילים שאינן בשפה לא מודפסות. עמוד 7 מתוך 8
6. נאמר שנוסחא בוליאנית φ היא טאוטולוגיה אם כל השמה בוליאנית למשתני φ תתן ערך אמת. תהי tautology}.t = {φ : φ is a CNF formula and φ is a מהי מחלקת הסיבוכיות הקטנה ביותר (ביחס להכלה) אליה שייכת T? (א) P. (ב).N P co-n P (ג).N PC (ד).co-N PC די שפסוקית אחת בנוסחת CNF לא תסתפק כדי שהנוסחא כולה לא תסתפק. נבדוק, אם כן, כל פסוקית של φ בנפרד. אם הפסוקית מכילה משתנה ושלילתו, כל השמה מספקת אותה ונעבור לפסוקית הבאה; אחרת, יש השמה שלא מספקת פסוקית זו וניתן לקבוע ש φ אינה טאוטולוגיה. רק אם כל הפסוקיות מכילות משתנה ושלילתו אזי φ טאוטולוגיה. 7. נניח כי P. = N P איזו מהאפשרויות הבאות מתקיימת? (א).P N PC (ב).P = N PC (ג).P N PC (ד) התשובות א'-ג' לעיל אינן נכונות. קל לראות כי.P-complete = P \ {, Σ } P 8. תהי C מחלקת שפות כלשהי ותהיינה B A, שפות. ידוע ש C B וכן שיש רדוקצית מיפוי מ A ל B. באיזה מהמקרים הבאים לא בהכרח מתקיים A? C (א) C = RE co-re והרדוקציה היא חשיבה. (ב) C = RE co-re והרדוקציה היא חשיבה בזמן פולינומי. (ג) C = RE \ R והרדוקציה היא חשיבה בזמן פולינומי. (ד) C = P והרדוקציה היא חשיבה בזמן פולינומי. ניקח A P R ו.B = H T M מתקיים A p B כי ניתן לפתור את A תוך כדי הרדוקציה ולהחזיר אחד מבין שני פלטים קבועים (מכונה שתמיד עוצרת/לעולם לא עוצרת וקלט ɛ עבורה). עמוד 8 מתוך 8